package main

// $ go mod init github.com/zhangxi/grpc_goods_client
// $ ==> go mod init grpc_goods_client
// $ go mod tidy  #==> 下载项目中引入的第三方包, 因为这里是直接从 "/server/greeter/proto/" 目录复制过来的, 我们需要 "$ go mod tidy" 获取依赖包,
// $ protoc --go_out=plugins=grpc:./ *.proto    // 使用 protoc-gen-go.exe
// $ 而不再是 protoc --go_out=./ order.proto

import (
	"context"
	"fmt"
	"grpc_goods_client/proto/goodsService"

	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials/insecure"
)

func main() {
	// 1.建立 tcp 连接,
	conn, err := grpc.Dial("127.0.0.1:8010", grpc.WithTransportCredentials(insecure.NewCredentials()))
	if err != nil {
		fmt.Println("grpc.Dial() err:", err)
		return
	}
	// 2.注册客户端,
	client := goodsService.NewGoodsClient(conn)
	// 3.调用远程函数,
	resp, err := client.AddGoods(context.Background(), &goodsService.AddGoodsReq{
		Title:   "test_goods",
		Price:   32.55,
		Content: "test_goods_content",
	})
	if err != nil {
		fmt.Println("client.AddGoods() err:", err)
		return
	}
	// 4.获取微服务返回的数据,
	fmt.Printf("%#v\n", resp)
	fmt.Println(resp.GetMessage())

}
